angular.module('moti.controllers.linescreat', ['moti.services.regionsService', 'moti.services.linesService', 'directiveModule', 'moti.directive.modal'])
    .controller('linesCreatCtrl', ['$scope', '$location', 'RegionsInterface', 'LinesInterface', '$modal', function($scope, $location, RegionsInterface, LinesInterface, $modal){

        $scope.lineType = 0;//默认批量添加
        $scope.baseData = function(){
            //设置默认时间
            $scope.line = {
                //批量默认
                "from" : moment(),
                "to" : moment().add(1, 'month'),
                //单日默认
                "line_date" : moment().format('YYYY-MM-DD'),
                "choose_date" : {}
            };
            //时间选择控件
            if($scope.lineType == 0){
                $('#multiTime').val(moment().format('YYYY/MM/DD') + ' - ' + moment().add(1, 'month').format('YYYY/MM/DD')).daterangepicker({
                    startDate : moment(),
                    endDate : moment().add(1, 'month'),
                    locale : {
                        applyLabel : '确定',
                        cancelLabel : '取消',
                        fromLabel : '起始时间',
                        toLabel : '结束时间',
                        customRangeLabel : '自定义',
                        daysOfWeek : [ '日', '一', '二', '三', '四', '五', '六' ],
                        monthNames : [ '一月', '二月', '三月', '四月', '五月', '六月',
                            '七月', '八月', '九月', '十月', '十一月', '十二月' ]
                    }
                }, function(start, end, label){
                    $scope.line.from = start;
                    $scope.line.to = end;
                    //格式化日期显示框
                    $('#multiTime').val(start.format('YYYY/MM/DD') + ' - ' + end.format('YYYY/MM/DD'));
                });
            }
            if($scope.lineType == 1){
                $('#singleTime').val(moment().format('YYYY-MM-DD')).daterangepicker({
                    singleDatePicker: true,
                    startDate : moment(),
                    locale : {
                        applyLabel : '确定',
                        cancelLabel : '取消',
                        fromLabel : '起始时间',
                        toLabel : '结束时间',
                        customRangeLabel : '自定义',
                        daysOfWeek : [ '日', '一', '二', '三', '四', '五', '六' ],
                        monthNames : [ '一月', '二月', '三月', '四月', '五月', '六月',
                            '七月', '八月', '九月', '十月', '十一月', '十二月' ]
                    }
                }, function(start, end, label){
                    $scope.line.line_date = start.format('YYYY-MM-DD');
                    //格式化日期显示框
                    $('#singleTime').val(start.format('YYYY-MM-DD'));
                });
            }
        };
        $scope.baseData();

        //获取景区列表
        RegionsInterface.getRegionsList().then(function(data){
            $scope.regions = data;
        });

        //提交
        $scope.linesCreatForm = function(){
            if($scope.lines_creat_form.$valid){
                if($scope.lineType == 0){
                    //获取选择了周几
                    $scope.line.choose_date_arr = "";
                    angular.forEach($scope.line.choose_date, function(value, key) {
                        value == true && ($scope.line.choose_date_arr += key.substr(3));
                    });
                    //重置line_date，遍历时间范围拿到具体日期，在循环时候要时间要深拷贝一份
                    $scope.line.line_date = [];
                    for(var j = angular.copy($scope.line.from); j <= $scope.line.to; j.add(1, 'days')){
                        if($scope.line.choose_date_arr.indexOf(j.isoWeekday() + "") != -1){
                            $scope.line.line_date.push(j.format('YYYY-MM-DD'));
                        }
                    }
                }
                console.log($scope.line);
                LinesInterface.postLine($scope.line).then(function(data){
                    $modal({id : 'tip-modal', text : "添加路线成功"}).show().autoHide();
                    // $location.path('/linesList');
                });
            }
        };

        //验证周期至少选择一天
        /*$scope.valiDay = function(){
            console.log(!!($scope.line.choose_date.day1 || $scope.line.choose_date.day2 || $scope.line.choose_date.day3 || $scope.line.choose_date.day4 || $scope.line.choose_date.day5 || $scope.line.choose_date.day6 || $scope.line.choose_date.day7));
            return !!($scope.line.choose_date.day1 || $scope.line.choose_date.day2 || $scope.line.choose_date.day3 || $scope.line.choose_date.day4 || $scope.line.choose_date.day5 || $scope.line.choose_date.day6 || $scope.line.choose_date.day7);
        }*/

    }]);